▍ humdrum codex / soft
1.7 KB raw
id
TASK-001
title
Scoreboard page: Golazo/plain-text/Bloomberg terminal style
status
To Do
assignee
created_date
2026-06-11 01:58
updated_date
2026-06-11 02:00
labels
feature
dependencies
priority
medium
ordinal
1000

Description

TUI scoreboard — new page (key '4') in dashboard.py showing all live/today/upcoming games in a dense, Bloomberg-terminal-style monospace grid. Rows sorted live→today→upcoming, color-coded by state (live=yellow/bold, final=dim, upcoming=default). Polls /api/sources for sports payload on the same 30s interval as other pages.

Clicking (or pressing Enter on) a game opens a full-screen GameDetailScreen (Textual ModalScreen or push_screen). Detail view: box score, current period/inning/quarter, scoring plays/timeline, player stats table (passing/rushing/shooting/batting etc depending on sport), updates on a shorter interval (15s or configurable). ESC or Q to exit detail and return to scoreboard.

Navigation: up/down arrow keys or j/k to move between games, Enter to open detail, Esc to go back. The game list should be a Textual DataTable or custom OptionList so cursor/selection works naturally.

Reference: existing render_sports() at line 423 in tui/dashboard.py for current game bucketing and color logic — detail view extends this.

Acceptance Criteria